package com.smssalama.transport;

import java.util.Date;

/**
 * Interface to be implemented by listeners of events from {@link SMSTransport}. 
 * 
 * @author Arnold P. Minde
 *
 */
public interface ISMSTransportListener {
	/**
	 * Fired when a new binary message arrives. 
	 * 
	 * @param transport - The transport on which the message arrived.
	 * @param number - The source of the message
	 * @param timestamp - the time stamp of the message
	 * @param data	- the data contained in the message
	 */
	void onBinaryMessage(SMSTransport transport, String number, Date timestamp,
			byte[] data);

	/**
	 * Fired when a new text message arrives. The message is a not encrypted
	 * 
	 * @param transport
	 * @param number
	 * @param timestamp
	 * @param payloadData
	 */
	void onTextMessage(SMSTransport transport, String number, Date timestamp,
			String payloadData);
}
